package com.dhcc.sds.busi.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import cn.hutool.core.date.DateTime;
import com.dhcc.sds.base.entity.SdsQcentityEntity;
import com.dhcc.sds.busi.vo.AnalysisSdsPortalVo;
import com.dhcc.sds.busi.vo.SdsOPQcincaseVo;
import org.apache.ibatis.annotations.Param;
import com.dhcc.core.framework.base.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.dhcc.sds.busi.entity.SdsQcincaseOperlogEntity;

/**
 * 病例操作日志
 * 
 * @ClassName: SdsQcincaseOperlogMapper
 * @Description: TODO
 * @author sunyingjie
 * @date 2021-03-22 10:09:14
 */
public interface SdsQcincaseOperlogMapper  extends BaseMapper<SdsQcincaseOperlogEntity> {
	
    List<SdsQcincaseOperlogEntity> list(@Param("map")Map<String, Object> map);
    List<SdsQcincaseOperlogEntity> page(@Param("page") Page<SdsQcincaseOperlogEntity> page,@Param("map")Map<String, Object> map);

    List<Integer> selectPortalCount(@Param("params") Map<String, Object> params);

    List<AnalysisSdsPortalVo> selectMainChartData(@Param("nowDate") DateTime nowDate, @Param("lastYearDate") DateTime lastYearDate, @Param("params")Map<String, Object> params);

    List<AnalysisSdsPortalVo> selectQCSumChartData(@Param("params") Map<String, Object> params);

    List<AnalysisSdsPortalVo> selectLocSumChartData(@Param("params") Map<String, Object> params);

    List<AnalysisSdsPortalVo> selectDocSumChartData(@Param("params") Map<String, Object> params);

    List<SdsQcincaseOperlogEntity> selectUseTime(@Param("caseId") Long caseId, @Param("status") List<String> status);

    List<AnalysisSdsPortalVo> selectPortalCountDetails(@Param("idName") String idName, @Param("deptIds")List<String> deptIds);

    List<AnalysisSdsPortalVo> selectByCondition(@Param("params") Map<String, Object> params);

    List<AnalysisSdsPortalVo> selectPortalCountDetailsList(@Param("idName")String idName, @Param("deptIds")List<String> deptIds);

    List<AnalysisSdsPortalVo> selectByConditionList(@Param("params")Map<String, Object> params);

    List<AnalysisSdsPortalVo> selectQCSumChartDataList(@Param("params")Map<String, Object> params);

    List<AnalysisSdsPortalVo> selectLocSumChartDataList(@Param("params")Map<String, Object> params);

    List<AnalysisSdsPortalVo> selectDocSumChartDataList(@Param("params")Map<String, Object> params);

    List<Long> selectIncaseIdsByCondition(@Param("params")Map<String, Object> params);

    List<SdsOPQcincaseVo> selectOPIncaseByCondition(@Param("params") Map<String, Object> params);

    SdsQcincaseOperlogEntity selectLastOne(@Param("mrId") Long mrId, @Param("state") String state);
}
